home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung 2 / Power-Programmierung CD 2 (Tewi)(1994).iso / c / library / dos / sysinfo / ver11 / sysinfo.doc < prev    next >
Encoding:
Text File  |  1994-05-18  |  73.1 KB  |  2,145 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.                       S Y S T E M  I N F O  L I B R A R Y
  18.                                  For Borland C
  19.                                   Version 1.1
  20.  
  21.  
  22.                               (Revised May, 1994)                        
  23.                    
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.                      Copyright (C) 1994 By Paul Lapsansky
  53.                               ALL RIGHTS RESERVED
  54.  
  55.          i. CONTENTS
  56.  
  57.              i.   CONTENTS. . . . . . . . . . . . . . . . . . . . . . 2
  58.  
  59.              I.   INTRODUCTION. . . . . . . . . . . . . . . . . . . . 5
  60.                   A.  What is supported . . . . . . . . . . . . . . . 5
  61.                   B.  Registration. . . . . . . . . . . . . . . . . . 5
  62.                   C.  Disclaimer. . . . . . . . . . . . . . . . . . . 5
  63.  
  64.              II.  SYSTEM FUNCTIONS. . . . . . . . . . . . . . . . . . 6
  65.  
  66.                   A. DISPLAY. . . . . . . . . . . . . . . . . . . . . 7
  67.                      1. GETCRT. . . . . . . . . . . . . . . . . . . . 7
  68.                      2. GETVESA . . . . . . . . . . . . . . . . . . . 7
  69.                      3. GETVIDEO. . . . . . . . . . . . . . . . . . . 7
  70.  
  71.                   B. DOS. . . . . . . . . . . . . . . . . . . . . . . 9
  72.                      1. CHKANSI . . . . . . . . . . . . . . . . . . . 9
  73.                      2. CHKAPPEND . . . . . . . . . . . . . . . . . . 9
  74.                      3. CHKASSIGN . . . . . . . . . . . . . . . . . . 9
  75.                      4. CHKDISPLAY. . . . . . . . . . . . . . . . . . 9
  76.                      5. CHKDOSHIGH. . . . . . . . . . . . . . . . . .10
  77.                      6. CHKDOSKEY . . . . . . . . . . . . . . . . . .10
  78.                      7. CHKDRIVER . . . . . . . . . . . . . . . . . .10
  79.                      8. CHKEGA. . . . . . . . . . . . . . . . . . . .10
  80.                      9. CHKGRAFTABL . . . . . . . . . . . . . . . . .11
  81.                      10. CHKGRAPHICS. . . . . . . . . . . . . . . . .11
  82.                      11. CHKKEYB. . . . . . . . . . . . . . . . . . .11
  83.                      12. CHKNLSFUNC . . . . . . . . . . . . . . . . .12
  84.                      13. CHKPRINT . . . . . . . . . . . . . . . . . .12
  85.                      14. CHKSHARE . . . . . . . . . . . . . . . . . .12
  86.                      15. CHKSHELLB. . . . . . . . . . . . . . . . . .12
  87.                      16. CHKXMA2EMS . . . . . . . . . . . . . . . . .13
  88.                      17. GET4DOSV . . . . . . . . . . . . . . . . . .13
  89.                      18. GETDOSOEM. . . . . . . . . . . . . . . . . .13
  90.                      19. GETDOSV. . . . . . . . . . . . . . . . . . .13
  91.                      20. GETDRDOSV. . . . . . . . . . . . . . . . . .14
  92.                                                                          
  93.                    C. DRIVES. . . . . . . . . . . . . . . . . . . . .15
  94.                      1. CDROM . . . . . . . . . . . . . . . . . . . .15
  95.                      2. CHKREMOTE . . . . . . . . . . . . . . . . . .15
  96.                      3. CHKREMOVABLE. . . . . . . . . . . . . . . . .15
  97.                      4. GETAVAILDRVS. . . . . . . . . . . . . . . . .16
  98.                      5. GETDRVINFO. . . . . . . . . . . . . . . . . .16
  99.                      6. GETDRVSPACE . . . . . . . . . . . . . . . . .16
  100.                      7. GETFLOPPY . . . . . . . . . . . . . . . . . .17
  101.                      8. GETFLOPTYPE . . . . . . . . . . . . . . . . .17
  102.                      9. ISCDROM . . . . . . . . . . . . . . . . . . .17
  103.                      10. ISDBLSPACE . . . . . . . . . . . . . . . . .18
  104.                      11. ISSTACKER. . . . . . . . . . . . . . . . . .18
  105.  
  106.                   D. HARDWARE . . . . . . . . . . . . . . . . . . . .19
  107.                    
  108.                                   - 2 -
  109.  
  110.                      1. BIOSDATE. . . . . . . . . . . . . . . . . . .19
  111.                      2. CHKENHKEYB. . . . . . . . . . . . . . . . . .19
  112.                      3. GETBUSTYPE. . . . . . . . . . . . . . . . . .19
  113.                      4. GETCOM. . . . . . . . . . . . . . . . . . . .19
  114.                      5. GETCOMADDR. . . . . . . . . . . . . . . . . .20
  115.                      6. GETCPU. . . . . . . . . . . . . . . . . . . .20  
  116.                      7. GETCPUMODE. . . . . . . . . . . . . . . . . .20
  117.                      8. GETFEATURES . . . . . . . . . . . . . . . . .21
  118.                      9. GETID . . . . . . . . . . . . . . . . . . . .21
  119.                      10. GETLPT . . . . . . . . . . . . . . . . . . .21
  120.                      11. GETLPTADDR . . . . . . . . . . . . . . . . .22
  121.                      12. GETMHZ . . . . . . . . . . . . . . . . . . .22
  122.                      13. GETNPU . . . . . . . . . . . . . . . . . . .22
  123.                      14. GETUART. . . . . . . . . . . . . . . . . . .23
  124.  
  125.                   E. MEMORY . . . . . . . . . . . . . . . . . . . . .24
  126.                      1. CHKDPMI . . . . . . . . . . . . . . . . . . .24
  127.                      2. CHKEMS. . . . . . . . . . . . . . . . . . . .24
  128.                      3. CHKVCPI . . . . . . . . . . . . . . . . . . .24
  129.                      4. CHKXMS. . . . . . . . . . . . . . . . . . . .24
  130.                      5. GETAVAILEXT . . . . . . . . . . . . . . . . .25
  131.                      6. GETDPMIV. . . . . . . . . . . . . . . . . . .25
  132.                      7. GETEMM. . . . . . . . . . . . . . . . . . . .25
  133.                      8. GETEMS. . . . . . . . . . . . . . . . . . . .26
  134.                      9. GETEMSI . . . . . . . . . . . . . . . . . . .26
  135.                      10. GETEMSV. . . . . . . . . . . . . . . . . . .27
  136.                      11. GETEXT . . . . . . . . . . . . . . . . . . .27
  137.                      12. GETRAM . . . . . . . . . . . . . . . . . . .27
  138.                      13. GETVCPIV . . . . . . . . . . . . . . . . . .28
  139.                      14. GETXMSA. . . . . . . . . . . . . . . . . . .28
  140.                      15. GETXMSI. . . . . . . . . . . . . . . . . . .28
  141.                      16. GETXMSV. . . . . . . . . . . . . . . . . . .29
  142.  
  143.                   F. MOUSE. . . . . . . . . . . . . . . . . . . . . .30
  144.                      1. CHKMOUSE. . . . . . . . . . . . . . . . . . .30
  145.                      2. GETMOUSEI . . . . . . . . . . . . . . . . . .30
  146.                      3. GETMOUSEV . . . . . . . . . . . . . . . . . .30
  147.                                                                          
  148.                  G. NETWORK . . . . . . . . . . . . . . . . . . . . .32  
  149.                      1. CHKIPX. . . . . . . . . . . . . . . . . . . .32
  150.                      2. GETLOGINTIME. . . . . . . . . . . . . . . . .32
  151.                      3. GETNETNAME. . . . . . . . . . . . . . . . . .32
  152.                      4. GETUSERNAME . . . . . . . . . . . . . . . . .33
  153.                      5. NETBIOS . . . . . . . . . . . . . . . . . . .33
  154.                      6. NETSHELL. . . . . . . . . . . . . . . . . . .33
  155.                                                                        
  156.                   H. TSR'S, DRIVERS AND SHELLS. . . . . . . . . . . .35
  157.                      1. CPTASK. . . . . . . . . . . . . . . . . . . .35
  158.                      2. DBLSPACE. . . . . . . . . . . . . . . . . . .35
  159.                      3. DOSSHELL. . . . . . . . . . . . . . . . . . .35
  160.                      4. GETDESQV. . . . . . . . . . . . . . . . . . .35
  161.                      5. GETWINV . . . . . . . . . . . . . . . . . . .36
  162.                 
  163.                                   - 3 -
  164.  
  165.                      6. HYPERDISK . . . . . . . . . . . . . . . . . .36
  166.                      7. MSCDEX. . . . . . . . . . . . . . . . . . . .37
  167.                      8. NCACHE. . . . . . . . . . . . . . . . . . . .37
  168.                      9. PCCACHE . . . . . . . . . . . . . . . . . . .37
  169.                      10. PCKWIK . . . . . . . . . . . . . . . . . . .37
  170.                      11. SMARTDRV . . . . . . . . . . . . . . . . . .38
  171.                      12. SPACEMAN . . . . . . . . . . . . . . . . . .38
  172.                      13. STACKER. . . . . . . . . . . . . . . . . . .38
  173.                      14. TASKMAX. . . . . . . . . . . . . . . . . . .39
  174.                                                                         
  175.                 
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.       
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.                                   - 4 -
  218.  
  219.          I.  INTRODUCTION
  220.                              
  221.             The SYSTEM INFO LIBRARY provides over 80 functions which     
  222.             access system information such as CPU or display type        
  223.             from within a Borland C program.  I have included the C      
  224.             source and executable for a program that demonstrates most   
  225.             of the functions available in the SYSTEM INFO LIBRARY.      
  226.  
  227.              1.  What is supported.
  228.  
  229.                  Borland C++ v2.0 or higher   
  230.                      
  231.                  Note:  This library should work with previous versions 
  232.                         with little or no modification as well as other 
  233.                         C compilers but, as of this documentation, it
  234.                         has only been tested with Borland C++ v2.0 thru
  235.                         Borland C++ v4.0.  Please let me know how this 
  236.                         library works with other versions or compilers
  237.                         so that I can update this documentation or make
  238.                         changes to the library.
  239.  
  240.              2.  Registration.                 
  241.  
  242.                  It is expected that if you find the SYSTEM INFO LIBRARY
  243.                  useful, you will register your copy.  You may not use
  244.                  SYSTEM INFO LIBRARY functions in programs intended for  
  245.                  sale unless you have registered.  Upon registration,    
  246.                  you will receive the other four memory models (tiny,    
  247.                  medium, compact and large).  Registered users may then  
  248.                  distribute programs linked with the SYSTEM INFO LIBRARY 
  249.                  without further royalties.
  250.  
  251.              3.  Disclaimer
  252.  
  253.                  USE THIS LIBRARY AT YOUR OWN RISK.  I have made great
  254.                  efforts to test this library on as many different 
  255.                  computers as possible, but, I will not assume any 
  256.                  responsibility for any problems which this library may
  257.                  cause you. If you do run into a problem, please let me  
  258.                  know about it and I will do my best to respond to it.
  259.     
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.                                   - 5 -
  273.  
  274.          II.  SYSTEM FUNCTIONS
  275.  
  276.               This section lists all the functions available in the      
  277.               SYSTEM INFO LIBRARY as well as a brief description, any    
  278.               parameters required or returned and an example of how to   
  279.               use the function.  Also listed is any hardware or software 
  280.               that the function is applicable with as well as any        
  281.               hardware or software that must be installed for the        
  282.               function to work correctly.
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.                                        
  326.  
  327.                                   - 6 -
  328.  
  329.               A.  DISPLAY     
  330.  
  331.                   1.  GETCRT                                             
  332.  
  333.                       Returns the type of display attached to an EGA or
  334.                       VGA card.
  335.  
  336.                                0 - Color monitor attached
  337.                                1 - Monochrome monitor attached
  338.  
  339.                       usage:  ret = getCRT()
  340.  
  341.                       argument list:  void
  342.  
  343.                       return value:   int          the display type
  344.  
  345.                       available on:   EGA or higher.
  346.  
  347.                       restrictions:   none.
  348.  
  349.                   2.  GETVESA   
  350.  
  351.                       Returns if a VESA BIOS extension is installed.  
  352.                       If installed, then it returns the VESA version 
  353.                       and total video RAM installed.
  354.  
  355.                       usage:  ret = getVESA(&major,&minor,&vram)
  356.  
  357.                       argument list:  int major    VESA version
  358.                                       int minor    VESA version
  359.                                       int vram     total video RAM
  360.  
  361.                       return value:   int          if VESA installed
  362.                                                    (1 - Yes, 0 - No)
  363.                       available on:   VGA display.
  364.  
  365.                       restrictions:   none.
  366.  
  367.                   3.  GETVIDEO
  368.  
  369.                       Returns the type of video card installed.
  370.  
  371.                              1 - MDA  (Monochrome Display Adapter)  
  372.                              2 - HGA  (Hercules Graphics Adapter)   
  373.                              3 - CGA  (Color Graphics Adapter)      
  374.                              4 - EGA  (Enhanced Graphics Adapter)   
  375.                              5 - MCGA (Multi-Color Graphics Array)
  376.                              6 - VGA  (Video Graphics Array)        
  377.                              7 - XGA  (Extended Graphics Adapter)
  378.  
  379.                       usage:  ret = getVideo()                          
  380.  
  381.  
  382.                                   - 7 -
  383.  
  384.                       argument list:  void                               
  385.  
  386.                       return value:   int          video card type  
  387.  
  388.                       available on:   all machines.
  389.  
  390.                       restrictions:   none.
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.                                   - 8 -
  438.  
  439.               B.  DOS
  440.  
  441.                   1.  CHKANSI
  442.  
  443.                       Returns whether ANSI.SYS is installed.
  444.  
  445.                       usage:  ret = chkAnsi()                           
  446.  
  447.                       argument list:  void                               
  448.  
  449.                       return value:   int          if ANSI.SYS installed
  450.                                                      (1 - Yes, 0 - No)
  451.                       available on:   DOS 4.0 or higher.
  452.  
  453.                       restrictions:   none.
  454.  
  455.                   2.  CHKAPPEND
  456.  
  457.                       Returns whether APPEND is installed.
  458.  
  459.                       usage:  ret = chkAppend()                          
  460.  
  461.                       argument list:  void                               
  462.  
  463.                       return value:   int          if APPEND installed  
  464.                                                     (1 - Yes, 0 - No)
  465.                       available on:   all machines.
  466.  
  467.                       restrictions:   none.
  468.  
  469.                   3.  CHKASSIGN
  470.  
  471.                       Returns whether ASSIGN is installed.
  472.  
  473.                       usage:  ret = chkAssign()                         
  474.  
  475.                       argument list:  void                               
  476.  
  477.                       return value:   int          if ASSIGN installed   
  478.                                                     (1 - Yes, 0 - No)
  479.                       available on:   DOS 3.0 or higher.
  480.  
  481.                       restrictions:   none.
  482.  
  483.                   4.  CHKDISPLAY
  484.  
  485.                       Returns whether DISPLAY.SYS is installed.
  486.  
  487.                       usage:  ret = chkDisplay()                        
  488.  
  489.                       argument list:  void                               
  490.  
  491.  
  492.                                   - 9 -
  493.  
  494.                       return value:   int         if DISPLAY installed
  495.                                                    (1 - Yes, 0 - No)
  496.                       available on:   DOS 3.3 or higher.
  497.  
  498.                       restrictions:   none.
  499.  
  500.                   5.  CHKDOSHIGH
  501.  
  502.                       Returns whether DOS is loaded high.
  503.  
  504.                       usage:  ret = chkDosHigh()                        
  505.  
  506.                       argument list:  void                               
  507.  
  508.                       return value:   int          if DOS is loaded high 
  509.                                                      (1 - Yes, 0 - No)
  510.                       available on:   DOS 5.0+ or DR-DOS 6.0+
  511.  
  512.                       restrictions:   none.                            
  513.  
  514.                   6.  CHKDOSKEY
  515.  
  516.                       Returns whether DOSKEY is installed.
  517.  
  518.                       usage:  ret = chkDoskey()                         
  519.  
  520.                       argument list:  void                               
  521.  
  522.                       return value:   int          if DOSKEY installed  
  523.                                                     (1 - Yes, 0 - No)
  524.                       available on:   DOS 5.0 or higher.
  525.  
  526.                       restrictions:   none.                            
  527.  
  528.                   7.  CHKDRIVER
  529.  
  530.                       Returns whether DRIVER.SYS in installed.
  531.  
  532.                       usage:  ret = chkDriver()                         
  533.  
  534.                       argument list:  void                               
  535.  
  536.                       return value:   int          if DRIVER installed
  537.                                                     (1 - Yes, 0 - No)
  538.                       available on:   DOS 3.3 or higher.
  539.  
  540.                       restrictions:   none.                        
  541.  
  542.                   8.  CHKEGA
  543.  
  544.                       Returns whether EGA.SYS in installed.
  545.  
  546.                  
  547.                                  - 10 -
  548.  
  549.                       usage:  ret = chkEGA()                            
  550.  
  551.                       argument list:  void                              
  552.  
  553.                       return value:   int          if EGA.SYS installed 
  554.                                                     (1 - Yes, 0 - No)
  555.                       available on:   all machines.
  556.  
  557.                       restrictions:   none.                              
  558.  
  559.                   9.  CHKGRAFTABL
  560.  
  561.                       Returns whether GRAFTABL is installed.
  562.  
  563.                       usage:  ret = chkGraftabl()                       
  564.  
  565.                       argument list:  void                               
  566.  
  567.                       return value:   int          if Graftabl installed 
  568.                                                      (1 - Yes, 0 - No)
  569.                       available on:   DOS 3.3 or higher.
  570.  
  571.                       restrictions:   none.                           
  572.  
  573.                   10. CHKGRAPHICS
  574.  
  575.                       Returns whether GRAPHICS.COM is installed.
  576.  
  577.                       usage:  ret = chkGraphics()                       
  578.  
  579.                       argument list:  void                               
  580.  
  581.                       return value:   int          if GRAPHICS installed
  582.                                                      (1 - Yes, 0 - No)
  583.                       available on:   DOS 4.0 or higher.
  584.  
  585.                       restrictions:   none.                             
  586.  
  587.                   11. CHKKEYB
  588.  
  589.                       Returns whether KEYB.COM is installed.
  590.  
  591.                       usage:  ret = chkKeyb()                           
  592.  
  593.                       argument list:  void                               
  594.                
  595.                       return value:   int          if KEYB.COM installed 
  596.                                                      (1 - Yes, 0 - No)
  597.                       available on:   DOS 3.3 or higher.
  598.  
  599.                       restrictions:   none.                        
  600.  
  601.  
  602.                                  - 11 -
  603.  
  604.                   12. CHKNLSFUNC
  605.  
  606.                       Returns whether NLSFUNC.COM is installed.
  607.  
  608.                       usage:  ret = chkNlsfunc()                        
  609.  
  610.                       argument list:  void                               
  611.  
  612.                       return value:   int          if NLSFUNC installed
  613.                                                     (1 - Yes, 0 - No)
  614.                       available on:   DOS 3.3 or higher.
  615.  
  616.                       restrictions:   none.     
  617.                       
  618.                   13. CHKPRINT
  619.  
  620.                       Returns whether PRINT is installed.
  621.  
  622.                       usage:  ret = chkPrint()                          
  623.  
  624.                       argument list:  void                               
  625.  
  626.                       return value:   int          if PRINT installed    
  627.                                                     (1 - Yes, 0 - No)
  628.                       available on:   DOS 3.0 or higher.
  629.  
  630.                       restrictions:   none.     
  631.  
  632.                   14. CHKSHARE
  633.  
  634.                       Returns whether SHARE.EXE
  635.  
  636.                       usage:  ret = chkNlsfunc()                        
  637.  
  638.                       argument list:  void                               
  639.  
  640.                       return value:   int          if SHARE installed   
  641.                                                     (1 - Yes, 0 - No)
  642.                       available on:   DOS 3.0 or higher.
  643.  
  644.                       restrictions:   none.     
  645.  
  646.                   15. CHKSHELLB
  647.  
  648.                       Returns whether SHELLB.COM
  649.  
  650.                       usage:  ret = chkShellb()                         
  651.  
  652.                       argument list:  void                               
  653.  
  654.                       return value:   int          if SHELLB installed  
  655.                                                     (1 - Yes, 0 - No)
  656.  
  657.                                  - 12 -
  658.  
  659.                       available on:   DOS 4.0 or higher.
  660.  
  661.                       restrictions:   none.
  662.      
  663.                   16. CHKXMA2EMS
  664.  
  665.                       Returns whether XMA2EMS.SYS
  666.  
  667.                       usage:  ret = chkXMA2EMS()                        
  668.  
  669.                       argument list:  void                               
  670.  
  671.                       return value:   int          if XMA2EMS installed 
  672.                                                     (1 - Yes, 0 - No)
  673.                       available on:   DOS 4.0 or higher.
  674.  
  675.                       restrictions:   none.     
  676.  
  677.                   17. GET4DOSV
  678.  
  679.                       Returns whether 4DOS is installed.  If installed,
  680.                       then the 4DOS version is returned.
  681.  
  682.                       usage:  ret = get4DosV(&major,&minor)              
  683.          
  684.                       argument list:  int major    version     
  685.                                       int minor    version      
  686.  
  687.                       return value:   int          if 4DOS installed
  688.                                                    (1 - Yes, 0 - No)
  689.                       available on:   4DOS 1.0 or higher.
  690.  
  691.                       restrictions:   none.
  692.  
  693.                   18. GETDOSOEM
  694.  
  695.                       Returns the DOS OEM number.
  696.  
  697.                       usage:  ret = getDosOem()                          
  698.       
  699.                       argument list:  void                               
  700.  
  701.                       return value:   int          DOS OEM number   
  702.  
  703.                       available on:   DOS 2.0 or higher.                 
  704.  
  705.                       restrictions:   none.
  706.  
  707.                   19. GETDOSV
  708.  
  709.                       Returns the DOS version.
  710.  
  711.  
  712.                                  - 13 -
  713.  
  714.                       Note:  OS/2 v1.x returns major version 10
  715.                              OS/2 v2.x returns major version 20
  716.                              DOS 4.01 and 4.02 return version 4.00       
  717.                              IBM DOS 6.1 returns version 6.0 (use DOS 
  718.                              OEM number to distinguish it from           
  719.                              MS-DOS 6.0)                
  720.  
  721.                       usage:  getDosV(&major,&minor)                     
  722.               
  723.                       argument list:  int major    version     
  724.                                       int minor    version      
  725.  
  726.                       return value:   void                               
  727.  
  728.                       available on:   all machines.                      
  729.  
  730.                       restrictions:   none.
  731.  
  732.                   20. GETDRDOSV
  733.  
  734.                       Returns the version I.D. of DR-DOS installed.
  735.                                                                       
  736.                            00h - DR-DOS not installed                    
  737.                            01h - Multi-User DR-DOS                       
  738.                            60h - DOS Plus                                
  739.                            63h - DR-DOS 3.41                             
  740.                            64h - DR-DOS 3.42                             
  741.                            65h - DR-DOS 5.0                              
  742.                            67h - DR-DOS 6.0                              
  743.                            70h - PalmDOS                                 
  744.                            71h - DR-DOS 6.0 (March 1993 Update)          
  745.                            72h - Novell DOS 7.0                          
  746.          
  747.                       usage:  ret = getDrDosV()                          
  748.          
  749.                       argument list:  void                               
  750.  
  751.                       return value:   int          DR-DOS version I.D.
  752.  
  753.                       available on:   DR-DOS 3.41 or higher.             
  754.  
  755.                       restrictions:   none.
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.                                  - 14 -
  768.  
  769.             C.  DRIVES
  770.  
  771.                   1.  CDROM
  772.  
  773.                       Returns whether a CD-ROM drive is installed.  
  774.                       If installed, then the number of CD-ROM drive  
  775.                       letters and the starting drive letter is returned.
  776.  
  777.                       usage:  ret = CDROM(&num,drive)                    
  778.                    
  779.                       argument list:  int num      number of drives  
  780.                                       char *drive  starting drive letter
  781.  
  782.                       return value:   int          if CD-ROM installed   
  783.                                                     (1 - Yes, 0 - No)
  784.                       available on:   all machines.                      
  785.  
  786.                       restrictions:   none.
  787.  
  788.                   2.  CHKREMOTE
  789.  
  790.                       Returns if a given drive remote (networked) or 
  791.                       local.  
  792.                                        0 - Local
  793.                                        1 - Remote
  794.  
  795.                       usage:  ret = chkRemote(drive,&remote)             
  796.                    
  797.                       argument list:  char *drive  letter      
  798.                                       int remote   status         
  799.                       return value:   int          0 - if no errors      
  800.         
  801.                       available on:   DOS 3.1 or higher.                 
  802.  
  803.                       restrictions:   none.
  804.  
  805.                   3.  CHKREMOVABLE
  806.  
  807.                       Returns if a given drive is removable or fixed.
  808.  
  809.                                        0 - Removable
  810.                                        1 - Fixed
  811.  
  812.                       usage:  ret = chkRemovable(drive,&removable)       
  813.                    
  814.                       argument list:  char *drive   letter      
  815.                                       int removable status     
  816.                       return value:   int          0 - if no errors      
  817.                                                     
  818.                       available on:   DOS 3.0 or higher.                 
  819.  
  820.                       restrictions:   none.
  821.  
  822.                                  - 15 -
  823.  
  824.                   4.  GETAVAILDRVS
  825.  
  826.                       Returns the number of available drives.
  827.  
  828.                       usage:  ret = getAvailDrvs()                       
  829.                  
  830.                       argument list:  void                            
  831.  
  832.                       return value:   int          available drives      
  833.                                             
  834.                       available on:   all machines.                      
  835.  
  836.                       restrictions:   none.
  837.  
  838.                   5.  GETDRVINFO
  839.  
  840.                       Returns various information for a given drive.
  841.  
  842.                       usage:  ret = getDrvInfo(drive,&cyl,&heads,&sec)   
  843.                    
  844.                       argument list:  char *drive   letter      
  845.                                       int cyl       number of cylinders
  846.                                       int heads     number of heads
  847.                                       int sec       number of sectors
  848.  
  849.                       return value:   int          0 - if no errors      
  850.                                
  851.                       available on:   DOS 3.2 or higher.                 
  852.  
  853.                       restrictions:   none.
  854.                     
  855.                   6.  GETDRVSPACE
  856.  
  857.                       Returns various drive space information for a 
  858.                       given drive.
  859.  
  860.                       Cluster Size = Bytes Per Sec * Sectors Per Cluster 
  861.                       Free Space = Free Clusters * Cluster Size          
  862.                       Total Space = Total Clusters * Cluster Size        
  863.                       Used Space = Total Space - Free Space              
  864.       
  865.                       usage:  ret = getDrvSpace(drive,&SecPerClus,       
  866.                                              &FreeClus,&BytesPerSec,     
  867.                                              &TotalClus)
  868.  
  869.                       argument list:  char *drive      letter            
  870.                                 long SecPerClus  sec per cluster
  871.                                       long FreeClu     free clusters
  872.                                       long BytesPerSec bytes per sector
  873.                                       long TotalClus   total clusters
  874.  
  875.                       return value:   int          0 - if no errors      
  876.                                                                          
  877.                                  - 16 -
  878.  
  879.                       available on:   DOS 2.0 or higher.                 
  880.  
  881.                       restrictions:   none.
  882.  
  883.                   7.  GETFLOPPY
  884.  
  885.                       Returns the number of floppy drives installed.
  886.  
  887.                       usage:  ret = getFloppy()                          
  888.          
  889.                       argument list:  none.                              
  890.  
  891.                       return value:   int          floppy drives
  892.  
  893.                       available on:   all machines.                      
  894.  
  895.                       restrictions:   none.
  896.  
  897.                   8.  GETFLOPTYPE
  898.  
  899.                       Returns the drive type for floppy drives A and B.
  900.                                                                       
  901.                                   0 - No drive installed                 
  902.                                   1 - 360K DD Drive                      
  903.                                   2 - 1.2M HD Drive                      
  904.                                   3 - 720K DD Drive                      
  905.                                   4 - 1.44M HD Drive                     
  906.                                   5 - 2.88M ED Drive                     
  907.                                                                          
  908.                        usage:  ret = getFlopType(&a,&b)                  
  909.                     
  910.                       argument list:  int a         drive A type      
  911.                                       int b         drive B type        
  912.  
  913.                       return value:   int          0 - if no errors      
  914.                                                   
  915.                       available on:   AT or higher. (some XT's)
  916.  
  917.                       restrictions:   none.
  918.  
  919.                   9.  ISCDROM
  920.  
  921.                       Returns if a given drive is an MSCDEX CD-ROM       
  922.                       drive.
  923.  
  924.                       Note: This function expects a Microsoft CD-ROM 
  925.                             extension version 2.00 or higher to be 
  926.                             installed.  Use MSCDEX to ensure that one
  927.                             is installed.
  928.  
  929.                       usage:  ret = iscdrom(drive)                       
  930.                 
  931.  
  932.                                  - 17 -
  933.  
  934.                       argument list:  char *drive  letter      
  935.  
  936.                       return value:   int          if drive is a CD-ROM  
  937.                                                      (1 - Yes, 0 - No)
  938.                       available on:   all machines.                      
  939.  
  940.                       restrictions:   CD-ROM extension 2.00 or higher.
  941.  
  942.                   10. ISDBLSPACE
  943.  
  944.                       Returns if a given drive is a DBLSPACE compressed
  945.                       drive. 
  946.  
  947.                       Note: This function expects DBLSPACE.BIN to be 
  948.                             installed.  Use chkDblSpace() to ensure
  949.                             that it is installed.
  950.  
  951.                       usage:  ret = isdblspace(drive)                    
  952.                    
  953.                       argument list:  char *drive  letter      
  954.  
  955.                       return value:   int          if a DBLSPACE drive   
  956.                                                     (1 - Yes, 0 - No)
  957.                       available on:   DOS 6.0 or higher.                 
  958.  
  959.                       restrictions:   DBLSPACE.BIN must be installed.
  960.  
  961.                   11. ISSTACKER
  962.  
  963.                       Returns if a given drive is a Stacker compressed
  964.                       drive.  
  965.  
  966.                       usage:  ret = isstacker(drive)                     
  967.             
  968.                       argument list:  char *drive  letter      
  969.  
  970.                       return value:   int          if a Stacker drive    
  971.                                                     (1 - Yes, 0 - No)
  972.                       available on:   all machines.                      
  973.  
  974.                       restrictions:   none.
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.                                  - 18 -
  988.  
  989.               D.  HARDWARE
  990.  
  991.                   1.  BIOSDATE
  992.  
  993.                       Returns a string containing the BIOS date.
  994.  
  995.                       usage:  ret = biosDate()                           
  996.                                 
  997.                       argument list:  void                           
  998.  
  999.                       return value:   char*        BIOS date             
  1000.            
  1001.                       available on:   all machines.                      
  1002.  
  1003.                       restrictions:   none.
  1004.  
  1005.                   2.  CHKENHKEYB
  1006.  
  1007.                       Returns if an enhanced 101-Key keyboard is         
  1008.                       detected.
  1009.  
  1010.                       usage:  ret = chkEnhKeyB()                         
  1011.                
  1012.                       argument list:  void                            
  1013.  
  1014.                       return value:   int          if enhanced keyboard  
  1015.                                                      (1 - Yes, 0 - No)
  1016.                       available on:   all machines.                      
  1017.  
  1018.                       restrictions:   none.
  1019.  
  1020.                   3.  GETBUSTYPE
  1021.  
  1022.                       Returns the system bus type.
  1023.                               
  1024.                              1 - ISA/AT
  1025.                              2 - MCA
  1026.                              3 - EISA
  1027.                          
  1028.                       usage:  ret = getBusType()
  1029.  
  1030.                       argument list:  void
  1031.  
  1032.                       return value:   int          bus type
  1033.  
  1034.                       available on:   all machines.
  1035.  
  1036.                       restrictions:   none.  
  1037.  
  1038.                   4.  GETCOM
  1039.  
  1040.                       Returns the number of serial ports installed.
  1041.  
  1042.                                  - 19 -
  1043.  
  1044.                       usage:  ret = getCOM()                             
  1045.                
  1046.                       argument list:  void                             
  1047.  
  1048.                       return value:   int          serial ports          
  1049.    
  1050.                       available on:   all machines.                      
  1051.  
  1052.                       restrictions:   none.
  1053.  
  1054.                   5.  GETCOMADDR
  1055.  
  1056.                       Returns the address for a serial port (1-4).
  1057.  
  1058.                       usage:  ret = getCOMaddr(&port)
  1059.  
  1060.                       argument list:  int          port number
  1061.  
  1062.                       return value:   int          port address
  1063.  
  1064.                       available on:   all machines.
  1065.  
  1066.                       restrictions:   none.
  1067.           
  1068.                   6.  GETCPU
  1069.  
  1070.                       Returns the type of CPU installed.
  1071.  
  1072.                              1 - NEC V20 or V30                          
  1073.                              2 - 8088 or 8086                            
  1074.                              3 - 80186                                   
  1075.                              4 - 80286                                   
  1076.                              5 - 80386                                   
  1077.                              6 - 80486                                   
  1078.                              7 - PENTIUM
  1079.  
  1080.                       usage:  ret = getCPU()                             
  1081.                
  1082.                       argument list:  void                             
  1083.  
  1084.                       return value:   int          CPU type              
  1085.             
  1086.                       available on:   all machines.                      
  1087.  
  1088.                       restrictions:   none.
  1089.  
  1090.                   7.  GETCPUMODE
  1091.  
  1092.                       Returns the CPU mode.
  1093.  
  1094.                              0 - Not supported
  1095.                              1 - Real
  1096.  
  1097.                                  - 20 -
  1098.  
  1099.                              2 - Protected
  1100.                              3 - V86 
  1101.  
  1102.                       usage:  ret = getCPUmode()
  1103.                     
  1104.                       argument list:  void
  1105.  
  1106.                       return value:   int          CPU mode
  1107.  
  1108.                       available on:   80286 or higher
  1109.  
  1110.                       restrictions:   none.
  1111.  
  1112.                   8.  GETFEATURES
  1113.  
  1114.                       Returns various information from the BIOS feature
  1115.                       byte.
  1116.  
  1117.                       usage:  ret = getFeatures(&DMA3,&s8259,&realtime,
  1118.                                           &keyint,&extint,&extbios,&mca)
  1119.                                                   
  1120.                       argument list:  int DMA3     DMA chan 3 used by HD
  1121.                                       int s8259    2nd 8259 installed
  1122.                                       int realtime real-time clock       
  1123.                                       int keyint   INT 15/AH=4Fh avail   
  1124.                                       int extint   INT 15/AH=41h avail   
  1125.                                       int extbios  extended BIOS area    
  1126.                                       int mca      Micro Channel bus
  1127.  
  1128.                       return value:   int          0 - if supported      
  1129.                                                    1 - if not supported
  1130.                       available on:   all machines.                      
  1131.  
  1132.                       restrictions:   none.
  1133.  
  1134.                   9.  GETID
  1135.  
  1136.                       Returns the model, submodel and revision I.D.
  1137.  
  1138.                       usage:  getID(&model,&submodel,&rev)               
  1139.        
  1140.                       argument list:  int model    BIOS model I.D.       
  1141.                                       int submodel BIOS submodel I.D.    
  1142.                                       int rev      BIOS revision level   
  1143.           
  1144.                       return value:   void                               
  1145.                            
  1146.                       available on:   all machines.                      
  1147.  
  1148.                       restrictions:   none.
  1149.  
  1150.                   10. GETLPT
  1151.  
  1152.                                  - 21 -
  1153.  
  1154.                       Returns the number of parallel ports installed.
  1155.  
  1156.                       usage:  ret = getLPT()                             
  1157.                
  1158.                       argument list:  void                             
  1159.  
  1160.                       return value:   int          parallel ports        
  1161.    
  1162.                       available on:   all machines.                      
  1163.  
  1164.                       restrictions:   none.
  1165.  
  1166.                   11. GETLPTADDR
  1167.  
  1168.                       Returns the address of a parallel port (1-4).
  1169.                         
  1170.                       usage:  ret = getLPTaddr(&port)
  1171.  
  1172.                       argument list:  int          port number
  1173.  
  1174.                       return value:   int          port address
  1175.  
  1176.                       available on:   all machines.
  1177.  
  1178.                       restrictions:   none.
  1179.  
  1180.                   12. GETMHZ
  1181.  
  1182.                       Returns the CPU speed in Mhz.
  1183.  
  1184.                       usage:  ret = getMhz()
  1185.  
  1186.                       argument list:  void
  1187.  
  1188.                       returns value:  int          CPU speed
  1189.  
  1190.                       available on:   all machines
  1191.  
  1192.                       restrictions:   none.
  1193.  
  1194.                   13. GETNPU
  1195.  
  1196.                       Returns the type of math co-processor installed.
  1197.  
  1198.                           0 - Math co-processor not installed            
  1199.                           1 - 8087                                       
  1200.                           2 - 80287                                      
  1201.                           3 - 80387    
  1202.                           4 - 80487
  1203.                           5 - PENTIUM
  1204.  
  1205.                       usage:  ret = getNPU()                             
  1206.                
  1207.                                  - 22 -
  1208.  
  1209.                       argument list:  void                             
  1210.  
  1211.                       return value:   int          co-processor type     
  1212.              
  1213.                       available on:   all machines.                      
  1214.  
  1215.                       restrictions:   none.
  1216.  
  1217.                   14. GETUART
  1218.  
  1219.                       Return the type of UART installed for a serial     
  1220.                       port address.
  1221.                       
  1222.                              0 - not installed
  1223.                              1 - 8250
  1224.                              2 - 8250A or 16450
  1225.                              3 - 16C1450
  1226.                              4 - 16550 
  1227.                              5 - 16550AF/C/CF
  1228.                              6 - 16C550
  1229.                              7 - 16552
  1230.                              8 - 82510
  1231.  
  1232.                       usage:  ret = getUART(&addr)
  1233.                       
  1234.                       argument list:  int          address
  1235.           
  1236.                       return value:   int          UART type
  1237.  
  1238.                       available on:   all machines.
  1239.  
  1240.                       restrictions:   none.    
  1241.                                                 
  1242.  
  1243.           
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.                                  - 23 -
  1263.  
  1264.               E.  MEMORY
  1265.     
  1266.                   1.  CHKDPMI
  1267.  
  1268.                       Returns whether a DOS Protected Mode Interface
  1269.                       is installed.
  1270.  
  1271.                       usage:  ret = chkDPMI()                            
  1272.           
  1273.                       argument list:  void                             
  1274.  
  1275.                       return value:   int          if DPMI installed     
  1276.                                                    (1 - Yes, 0 - No)
  1277.                       available on:   80286 or higher.                   
  1278.   
  1279.                       restrictions:   none.
  1280.  
  1281.                   2.  CHKEMS
  1282.  
  1283.                       Returns whether an Expanded Memory Manager is 
  1284.                       installed.
  1285.  
  1286.                       usage:  ret = chkEMS()                             
  1287.                
  1288.                       argument list:  void                             
  1289.  
  1290.                       return value:   int          if EMS installed      
  1291.                                                    (1 - Yes, 0 - No)
  1292.                       available on:   all machines.                      
  1293.   
  1294.                       restrictions:   none.
  1295.  
  1296.                   3.  CHKVCPI
  1297.  
  1298.                       Returns whether a Virtual Control Program          
  1299.                       Interface is installed.
  1300.  
  1301.                       usage:  ret = chkVCPI()                            
  1302.                
  1303.                       argument list:  void                             
  1304.  
  1305.                       return value:   int          if VCPI installed     
  1306.                                                    (1 - Yes, 0 - No)
  1307.                       available on:   80386 or higher.                   
  1308.   
  1309.                       restrictions:   '386 Extended Memory Manager       
  1310.                                       installed 
  1311.  
  1312.                   4.  CHKXMS
  1313.  
  1314.                       Returns whether an Extended Memory Manager is 
  1315.                       installed.
  1316.  
  1317.                                  - 24 -
  1318.  
  1319.                       usage:  ret = chkXMS()                             
  1320.                
  1321.                       argument list:  void                             
  1322.  
  1323.                       return value:   int          if XMS installed      
  1324.                                                    (1 - Yes, 0 - No)
  1325.                       available on:   80286 or higher.                   
  1326.   
  1327.                       restrictions:   none.
  1328.  
  1329.                   5.  GETAVAILEXT
  1330.  
  1331.                       Returns the amount of available extended memory.
  1332.  
  1333.                       usage:  ret = getAvailExt()                        
  1334.                
  1335.                       argument list:  void                             
  1336.  
  1337.                       return value:   long         avail extended memory 
  1338.               
  1339.                       available on:   80286 or higher.                   
  1340.   
  1341.                       restrictions:   none.
  1342.                   
  1343.                   6.  GETDPMIV
  1344.  
  1345.                       Returns the DPMI version.  
  1346.  
  1347.                       Note: This function expects a DPMI to be           
  1348.                             installed.  Use chkDPMI() to ensure that a   
  1349.                             DPMI is installed.
  1350.  
  1351.                       usage:  ret = getDPMIv(&major,&minor)              
  1352.                
  1353.                       argument list:  int major    version
  1354.                                       int minor    version
  1355.  
  1356.                       return value:   int          0 - if no errors      
  1357.                                                    1 - if errors
  1358.                       available on:   80286 or higher.                   
  1359.   
  1360.                       restrictions:   DPMI driver installed.
  1361.  
  1362.                   7.  GETEMM
  1363.  
  1364.                       Returns '386 Extended Memory Manager type.  This
  1365.                       function expects an Extended Memory Manager to be
  1366.                       installed.  Use chkXMS() to ensure that an         
  1367.                       Extended Memory Manager is installed.
  1368.  
  1369.                       Note: This function expects an XMS Memory Manager
  1370.                           
  1371.  
  1372.                                  - 25 -
  1373.  
  1374.                       to be installed.  Use chkXMS() to ensure           
  1375.                       that one is installed.
  1376.  
  1377.                       0 - Not installed or unknown Memory-Manager        
  1378.                       1 - Quadtel's QMAPS and Hewlett-Packard's HPMM.SYS 
  1379.                       2 - Microsoft's EMM386.EXE                         
  1380.                       3 - Windows 3.x WIN386.EXE                         
  1381.                       4 - DR-DOS 6.0 EMM386.SYS                          
  1382.                       5 - Qualitas' 386MAX                               
  1383.                       6 - V Communication's Memory Commander             
  1384.                       7 - Quarterdeck's QEMM-386                         
  1385.                       8 - Helix's Netroom RM386                          
  1386.      
  1387.                       usage:  ret = getEMM()                             
  1388.                
  1389.                       argument list:  void                             
  1390.  
  1391.                       return value:   int       '386 Memory Manager type 
  1392.                                                                   
  1393.                       available on:   80386 or higher.                   
  1394.   
  1395.                       restrictions:   XMS memory manager installed.
  1396.  
  1397.                   8.  GETEMS
  1398.  
  1399.                       Returns the total and available 16K pages of EMS
  1400.                       memory.
  1401.  
  1402.                       Note: This function expects an EMS Memory Manager
  1403.                             to be installed.  Use chkEMS() to ensure
  1404.                             that one is installed.
  1405.  
  1406.                       usage:  ret = getEMS(&total,&avail)                
  1407.                
  1408.                       argument list:  int total    16K pages
  1409.                                       int avail    available 16K pages
  1410.  
  1411.                       return value:   int          0 - if no errors      
  1412.      
  1413.                       available on:   all machines.                      
  1414.   
  1415.                       restrictions:   EMS memory manager installed.     
  1416.  
  1417.                   9.  GETEMSI
  1418.  
  1419.                       Returns the number of available EMS handles and
  1420.                       the page frame address.
  1421.  
  1422.                       Note: This function expects an EMS memory manager
  1423.                             to be installed.  Use chkEMS() to ensure
  1424.                             that one is installed.
  1425.  
  1426.  
  1427.                                  - 26 -
  1428.  
  1429.                       usage:  ret = getEMSi(&handles,&address)           
  1430.                                     
  1431.                       argument list:  int handles  available handles
  1432.                                       int address  page frame address 
  1433.  
  1434.                       return value:   int          0 - if no errors      
  1435.                                              
  1436.                       available on:   all machines.                      
  1437.   
  1438.                       restrictions:   EMS memory manager installed.
  1439.  
  1440.                   10. GETEMSV
  1441.  
  1442.                       Returns the EMS memory manager version.
  1443.  
  1444.                       Note: This function expects an EMS memory manager
  1445.                             to be installed.  Use chkEMS() to ensure
  1446.                             that one is installed.
  1447.  
  1448.                       usage:  ret = getEMSv(&major,&minor)               
  1449.                                                       
  1450.                       argument list:  int major    EMS major version
  1451.                                       int minor    EMS minor version  
  1452.  
  1453.                       return value:   int          0 - if no errors      
  1454.                                             
  1455.                       available on:   all machines.                      
  1456.   
  1457.                       restrictions:   EMS memory manager installed.
  1458.  
  1459.                   11. GETEXT
  1460.  
  1461.                       Returns the total amount of extended memory     
  1462.                       installed.
  1463.  
  1464.                       usage:  ret = getEXT()                             
  1465.              
  1466.                       argument list:  void                        
  1467.  
  1468.                       return value:   long         total extended memory 
  1469.                                              
  1470.                       available on:   80286 or higher.                   
  1471.   
  1472.                       restrictions:   none.                             
  1473.  
  1474.                   12. GETRAM
  1475.  
  1476.                       Returns the total amount of conventional memory
  1477.                       installed.
  1478.  
  1479.                       usage:  ret = getRAM()                             
  1480.                
  1481.  
  1482.                                  - 27 -
  1483.  
  1484.                       argument list:  void                        
  1485.  
  1486.                       return value:   int          conventional memory  
  1487.  
  1488.                       available on:   all machines.                      
  1489.   
  1490.                       restrictions:   none.                              
  1491.                      
  1492.                   13. GETVCPIV
  1493.  
  1494.                       Returns the VCPI version.
  1495.  
  1496.                       Note: This routine expects a VCPI driver to be
  1497.                             installed.  Use chkVCPI() to ensure that 
  1498.                             one is installed.
  1499.  
  1500.                       usage:  getVCPIv(&major,&minor)                    
  1501.                                                 
  1502.                       argument list:  int major    VCPI major version
  1503.                                       int minor    VCPI minor version  
  1504.  
  1505.                       return value:   void                               
  1506.                                              
  1507.                       available on:   80386 or higher.                   
  1508.   
  1509.                       restrictions:   VCPI driver installed.       
  1510.  
  1511.                   14. GETXMSA
  1512.  
  1513.                       Returns the total available XMS memory and the
  1514.                       largest available block.
  1515.  
  1516.                       Note: This function expects an XMS Memory Manager
  1517.                             to be installed.  Use chkXMS() to ensure
  1518.                             that one is installed.
  1519.  
  1520.                       usage:  ret = getXMSa(&total,&avail)               
  1521.                
  1522.                       argument list:  long total   available XMS memory
  1523.                                       long avail   largest XMS block
  1524.  
  1525.                       return value:   int          0 - if no errors 
  1526.                                                    1 - if errors     
  1527.                       available on:   80286 or higher.                   
  1528.   
  1529.                       restrictions:   XMS memory manager installed.     
  1530.  
  1531.                   15. GETXMSI
  1532.  
  1533.                       Returns if HMA exists and A20 status.
  1534.  
  1535.  
  1536.  
  1537.                                  - 28 -
  1538.  
  1539.                             0 - HMA does not exist                       
  1540.                             1 - HMA exists                               
  1541.                                                                          
  1542.                             0 - A20 disabled                             
  1543.                             1 - A20 enabled                              
  1544.       
  1545.                       Note: This function expects an XMS Memory Manager
  1546.                             to be installed.  Use chkXMS() to ensure
  1547.                             that one is installed.
  1548.  
  1549.                       usage:  ret = getXMSi(&HMA,&A20)                   
  1550.                 
  1551.                       argument list:  int HMA      status                
  1552.                                   int A20      status                    
  1553.    
  1554.                       return value:   int          0 - if no errors 
  1555.                                                    1 - if errors     
  1556.                       available on:   80286 or higher.                   
  1557.   
  1558.                       restrictions:   XMS memory manager installed.     
  1559.  
  1560.                   16. GETXMSV
  1561.  
  1562.                       Returns XMS memory manager version.
  1563.  
  1564.                       Note: This function expects an XMS Memory Manager
  1565.                             to be installed.  Use chkXMS() to ensure
  1566.                             that one is installed.
  1567.  
  1568.                       usage:  ret = getXMSv(&major,&minor)               
  1569.                 
  1570.                       argument list:  int major    XMS major version     
  1571.                                       int minor    XMS minor version     
  1572.    
  1573.                       return value:   int          0 - if no errors 
  1574.                                                    1 - if errors     
  1575.                       available on:   80286 or higher.                   
  1576.   
  1577.                       restrictions:   XMS memory manager installed.     
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.                                  - 29 -
  1593.  
  1594.               F.  MOUSE
  1595.  
  1596.                   1.  CHKMOUSE
  1597.  
  1598.                       Returns the number of mouse buttons, zero if     
  1599.                       a mouse is not installed.                       
  1600.  
  1601.                       usage:  ret = chkMouse()                           
  1602.                 
  1603.                       argument list:  void                               
  1604.    
  1605.                       return value:   int          number of buttons
  1606.                                         
  1607.                       available on:   all machines.                      
  1608.   
  1609.                       restrictions:   none.                              
  1610.  
  1611.                   2.  GETMOUSEI
  1612.  
  1613.                       Returns the type of mouse and IRQ.
  1614.  
  1615.                         Type:                                            
  1616.                               1 - Bus mouse                              
  1617.                               2 - Serial mouse                           
  1618.                               3 - Inport mouse                           
  1619.                               4 - PS/2 mouse                             
  1620.                               5 - Hewlett-Packard mouse                  
  1621.                                 
  1622.                         IRQ:                      
  1623.                               PS/2 mouse returns an IRQ of 0.            
  1624.          
  1625.                       Note: This routine expects a mouse driver
  1626.                             to be installed.  Use chkMouse() to 
  1627.                             ensure that one is installed.
  1628.  
  1629.                       usage:  getMouseI(&type,&irq)                      
  1630.                      
  1631.                       argument list:  int type     mouse type
  1632.                                       int irq      mouse IRQ
  1633.  
  1634.                       return value:   void                            
  1635.                                         
  1636.                       available on:   all machines.                      
  1637.   
  1638.                       restrictions:   Microsoft or compatible mouse      
  1639.                                       driver.
  1640.  
  1641.                   3.  GETMOUSEV
  1642.  
  1643.                       Returns the mouse driver version.
  1644.  
  1645.  
  1646.  
  1647.                                  - 30 -
  1648.  
  1649.                       Note: This routine expects a mouse driver
  1650.                             to be installed.  Use chkMouse() to 
  1651.                             ensure that one is installed.
  1652.  
  1653.                       usage:  getMouseV(&major,&minor)                   
  1654.                      
  1655.                       argument list:  int major    version
  1656.                                       int minor    version
  1657.  
  1658.                       return value:   void                            
  1659.                                         
  1660.                       available on:   all machines.                      
  1661.   
  1662.                       restrictions:   Microsoft or compatible mouse      
  1663.                                       driver.
  1664.  
  1665.  
  1666.  
  1667.  
  1668.  
  1669.  
  1670.  
  1671.  
  1672.  
  1673.  
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.                                  - 31 -
  1703.  
  1704.               G.  NETWORK
  1705.  
  1706.                   1.  CHKIPX
  1707.  
  1708.                       Returns whether Novell NetWare IPX installed.
  1709.  
  1710.                       usage:  ret = chkIPX()                             
  1711.                      
  1712.                       argument list:  void                               
  1713.  
  1714.                       return value:   int          if IPX installed   
  1715.                                                    (1 - Yes, 0 - No)
  1716.                       available on:   all machines.                      
  1717.   
  1718.                       restrictions:   none.                              
  1719.     
  1720.                   2.  GETLOGINTIME
  1721.  
  1722.                       Returns login date, time and day of the week.
  1723.  
  1724.                       usage:  ret = getLoginTime(&year,&month,&day,
  1725.                                                &hour,&min,&sec,&weekday)
  1726.  
  1727.                       argument list:  int year     (80-99 = 1980-1999)
  1728.                                                    (00-79 = 2000-2079)
  1729.                                       int month    (1-12) 
  1730.                                       int day      (1-31)
  1731.                                       int hour     (0-23)
  1732.                                       int min      (0-59)
  1733.                                       int sec      (0-59)
  1734.                                       int weekday  (0 = Sunday)   
  1735.  
  1736.                       return value:   int          0 - no errors      
  1737.                                         
  1738.                       available on:   Advanced NetWare 1.0 or higher.    
  1739.    
  1740.                       restrictions:   none.                              
  1741.      
  1742.                   3.  GETNETNAME
  1743.  
  1744.                       Returns the Novell NetWare file server name and 
  1745.                       various file server information.
  1746.  
  1747.                       usage:  ret = getNetName(&ver,&sub,&conn,&use,
  1748.                                                &vol,&peak)
  1749.  
  1750.                       argument list:  int ver      NetWare version       
  1751.  
  1752.                                       int sub      NetWare subversion    
  1753.                                       int conn     connections supported
  1754.                                       int use      connections in use
  1755.  
  1756.  
  1757.                                  - 32 -
  1758.  
  1759.                                       int vol      maximum volumes
  1760.                                       int peak     connections used
  1761.  
  1762.                       return value:   char *       server name        
  1763.                                         
  1764.                       available on:   Advanced NetWare 2.1 or higher.    
  1765.    
  1766.                       restrictions:   none.                              
  1767.      
  1768.                   4.  GETUSERNAME
  1769.  
  1770.                       Returns the Novell NetWare network user name.
  1771.  
  1772.                       usage:  ret = getUserName()                        
  1773.                           
  1774.                       argument list:  void                               
  1775.  
  1776.                       return value:   char *       network user name  
  1777.                                         
  1778.                       available on:   Advanced NetWare 1.0 or higher.    
  1779.   
  1780.                       restrictions:   none.                              
  1781.     
  1782.                   5.  NETBIOS
  1783.  
  1784.                       Returns whether Novell's NetBIOS emulator is 
  1785.                       installed.
  1786.  
  1787.                       usage:  ret = NetBIOS()                            
  1788.                       
  1789.                       argument list:  void                               
  1790.  
  1791.                       return value:   int          if NetBIOS installed
  1792.                                                     (1 - Yes, 0 - No)
  1793.                       available on:   all machines.                      
  1794.   
  1795.                       restrictions:   none.                              
  1796.     
  1797.                   6.  NETSHELL
  1798.  
  1799.                       Returns whether Novell NetWare Shell installed.
  1800.                       If installed, then the shell version and type 
  1801.                       are returned.
  1802.  
  1803.                                type - shell type (v3.01+)                
  1804.                                   0 - conventional memory                
  1805.                                   1 - expanded memory                    
  1806.                                   2 - extended memory                    
  1807.        
  1808.                       usage:  ret = NetShell(&major,&minor,&rev,&type)
  1809.  
  1810.          
  1811.  
  1812.                                  - 33 -
  1813.  
  1814.                       argument list:  int major    version               
  1815.                                       int minor    version               
  1816.                                       int rev      revision              
  1817.                                       int type     shell type            
  1818.  
  1819.                       return value:   int          if NetShell installed
  1820.                                                      (1 - Yes, 0 - No)
  1821.                       available on:   Advanced NetWare 1.0 or higher.    
  1822.    
  1823.                       restrictions:   none.                              
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854.  
  1855.  
  1856.  
  1857.  
  1858.  
  1859.  
  1860.  
  1861.  
  1862.  
  1863.  
  1864.  
  1865.  
  1866.  
  1867.                                  - 34 -
  1868.  
  1869.                   H.  TSR'S, DRIVERS, SHELLS and TASK SWAPPERS
  1870.  
  1871.                   1.  CPTASK
  1872.  
  1873.                       Returns whether PCTools V8.0 or higher CPTASK
  1874.                       is resident.  
  1875.  
  1876.                       usage:  ret = CPTask()                             
  1877.                       
  1878.                       argument list:  void                               
  1879.  
  1880.                       return value:   int          if CPTask resident  
  1881.                                                     (1 - Yes, 0 - No)
  1882.                       available on:   all machines.                      
  1883.   
  1884.                       restrictions:   none.                              
  1885.     
  1886.                   2.  DBLSPACE
  1887.  
  1888.                       Returns whether DOS 6.0 DBLSPACE is installed.
  1889.  
  1890.                       usage:  ret = DblSpace()                           
  1891.                       
  1892.                       argument list:  void                               
  1893.  
  1894.                       return value:   int          if DBLSPACE installed
  1895.                                                     (1 - Yes, 0 - No)
  1896.                       available on:   DOS 6.0 or higher.                 
  1897.   
  1898.                       restrictions:   none.                              
  1899.     
  1900.                   3.  DOSSHELL
  1901.  
  1902.                       Returns whether DOS 5.0 or higher DOSSHELL task
  1903.                       switcher is resident.  
  1904.  
  1905.                       Note: This check is also supported by PCTools
  1906.                             CPTASK v8.0+ and DR-DOS 6.0 TaskMax.
  1907.  
  1908.                       usage:  ret = DosShell()
  1909.  
  1910.                       argument list:  void                               
  1911.  
  1912.                       return value:   int          if DOSSHELL resident 
  1913.                                                      (1 - Yes, 0 - No)
  1914.                       available on:   all machines.                      
  1915.   
  1916.                       restrictions:   none.                              
  1917.     
  1918.                   4.  GETDESQV
  1919.     
  1920.                       Returns whether DESQview is running.  If 
  1921.  
  1922.                                  - 35 -
  1923.  
  1924.                       running, then the DESQview version is 
  1925.                       returned.
  1926.  
  1927.                       usage:  ret = getDesqV(&major,&minor)
  1928.  
  1929.                       argument list:  int major    version
  1930.                                       int minor    version
  1931.  
  1932.                       return value:   int          if DESQview running
  1933.                                                      (1 - Yes, 0 - No)
  1934.                       available on:   all machines.                      
  1935.   
  1936.                       restrictions:   none.                              
  1937.     
  1938.                   5.  GETWINV
  1939.  
  1940.                       Returns whether Windows 3.0 or higher is 
  1941.                       running.  If running, then the version 
  1942.                       and model are returned.
  1943.  
  1944.                       Mode:  0 - Standard (or Real on Windows 3.0)       
  1945.                              1 - Enhanced                                
  1946.                                                                    
  1947.                       Note: Will detect Windows/386 2.x but only returns 
  1948.                             the major version.                           
  1949.            
  1950.                       usage:  ret = getWinV(&major,&minor,&mode)
  1951.  
  1952.                       argument list:  int major    version
  1953.                                       int minor    version
  1954.                                       int mode     Windows mode
  1955.  
  1956.                       return value:   int          if Windows running
  1957.                                                     (1 - Yes, 0 - No)
  1958.                       available on:   all machines.                      
  1959.   
  1960.                       restrictions:   none.                              
  1961.     
  1962.                   6.  HYPERDISK
  1963.  
  1964.                       Returns whether HyperDisk disk cache v4.20+ 
  1965.                       or higher is installed.
  1966.  
  1967.                       usage:  ret = HyperDisk()
  1968.  
  1969.                       argument list:  void                               
  1970.  
  1971.                       return value:   int         if HyperDisk installed
  1972.                                                     (1 - Yes, 0 - No)
  1973.                       available on:   all machines.                      
  1974.  
  1975.                       restrictions:   none.                              
  1976.  
  1977.                                  - 36 -
  1978.  
  1979.                   7.  MSCDEX
  1980.  
  1981.                       Returns whether a Microsoft CD-ROM extension 
  1982.                       version 2.00 or higher installed.  If installed, 
  1983.                       then the version is returned.
  1984.  
  1985.                       usage:  ret = MSCDEX(&major,&minor)
  1986.  
  1987.                       argument list:  int major    version
  1988.                                       int minor    version
  1989.  
  1990.                       return value:   int          if MSCDEX installed  
  1991.                                                     (1 - Yes, 0 - No)
  1992.                       available on:   all machines.                      
  1993.   
  1994.                       restrictions:   none.                              
  1995.     
  1996.                   8.  NCACHE
  1997.  
  1998.                       Returns whether Norton NCACHE v5.0 or higher
  1999.                       is installed.
  2000.  
  2001.                       usage:  ret = Ncache()  
  2002.  
  2003.                       argument list:  void                               
  2004.  
  2005.                       return value:   int          if NCACHE installed  
  2006.                                                     (1 - Yes, 0 - No)
  2007.                       available on:   all machines.                      
  2008.   
  2009.                       restrictions:   none.                              
  2010.     
  2011.                   9.  PCCACHE
  2012.  
  2013.                       Returns whether PCTools PC-Cache v6.x or
  2014.                       PC-Cache v7.x is installed.
  2015.  
  2016.                       usage:  ret = PcCache()  
  2017.  
  2018.                       argument list:  void                               
  2019.  
  2020.                       return value:   int          if PC-Cache installed
  2021.                                                      (1 - Yes, 0 - No)
  2022.                       available on:   all machines.                      
  2023.   
  2024.                       restrictions:   none.                              
  2025.     
  2026.                   10. PCKWIK
  2027.  
  2028.                       Returns whether PC-Kwik v3.20 or higher 
  2029.                       disk cache is installed.
  2030.  
  2031.  
  2032.                                  - 37 -
  2033.  
  2034.                       Note:  PC-Cache v5.x and Qcache v4.00 are
  2035.                              OEM versions of PC-Kwik v3.20.
  2036.  
  2037.                       usage:  ret = PCKwik()  
  2038.  
  2039.                       argument list:  void                               
  2040.  
  2041.                       return value:   int          if PC-Kwik installed 
  2042.                                                      (1 - Yes, 0 - No)
  2043.                       available on:   all machines.                      
  2044.   
  2045.                       restrictions:   none.                              
  2046.     
  2047.                   11. SMARTDRV
  2048.  
  2049.                       Returns whether SMARTDrive disk cache is 
  2050.                       installed.
  2051.  
  2052.                       Note:  Also returns if PC-Cache v8.0 or higher
  2053.                              is installed.
  2054.  
  2055.                       usage:  ret = SmartDrv()
  2056.  
  2057.                       argument list:  void                               
  2058.  
  2059.                       return value:   int        if SMARTDrive installed 
  2060.                                                     (1 - Yes, 0 - No)
  2061.                       available on:   all machines.                      
  2062.   
  2063.                       restrictions:   none.                              
  2064.     
  2065.                   12. SPACEMAN
  2066.  
  2067.                       Returns whether Vertisoft SPACEMANager 
  2068.                       (DoubleSpace enhancement) is installed.
  2069.  
  2070.                       usage:  ret = SpaceMan()
  2071.  
  2072.                       argument list:  void                               
  2073.  
  2074.                       return value:   int      if SPACEMANager installed
  2075.                                                    (1 - Yes, 0 - No)
  2076.                       available on:   DOS 6.0 or higher and DoubleSpace  
  2077.   
  2078.                       restrictions:   none.                              
  2079.     
  2080.  
  2081.                   13. STACKER
  2082.  
  2083.                       Returns whether Stacker disk compression
  2084.                       is installed. 
  2085.  
  2086.  
  2087.                                  - 38 -
  2088.  
  2089.                       usage:  ret = Stacker()  
  2090.  
  2091.                       argument list:  void                               
  2092.  
  2093.                       return value:   int          if Stacker installed 
  2094.                                                      (1 - Yes, 0 - No)
  2095.                       available on:   all machines.                      
  2096.   
  2097.                       restrictions:   none.                              
  2098.     
  2099.                   14. TASKMAX
  2100.  
  2101.                       Returns whether DR-DOS 6.0 TaskMax task swapper
  2102.                       is resident.
  2103.  
  2104.                       usage:  ret = TaskMax() 
  2105.  
  2106.                       argument list:  void                               
  2107.  
  2108.                       return value:   int          if TaskMax installed 
  2109.                                                      (1 - Yes, 0 - No)
  2110.                       available on:   all machines.                      
  2111.   
  2112.                       restrictions:   none.                              
  2113.     
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.  
  2120.  
  2121.  
  2122.  
  2123.  
  2124.  
  2125.  
  2126.  
  2127.  
  2128.  
  2129.  
  2130.  
  2131.  
  2132.  
  2133.  
  2134.  
  2135.  
  2136.  
  2137.  
  2138.  
  2139.  
  2140.  
  2141.  
  2142.                                  - 39 -
  2143.  
  2144. 
  2145.